package sdk

// 分页查询商品信息
type ItemListItemsRequest struct {
	*BaseRequest
	DeliverCode string `json:"deliverCode,omitempty"` // 发货编码: 可选
	Page        int    `json:"page"`                  // 页码: 可选, 默认值=1
	PageSize    int    `json:"pageSize"`              // 每页大小: 可选, 默认值=20, 最大值=50
}

//
func (request *ItemListItemsRequest) GetMethod() (method string) {
	return "/item/listItems"
}

//
func CreateItemListItemsRequest() (request *ItemListItemsRequest) {
	request = &ItemListItemsRequest{
		BaseRequest: &BaseRequest{},
	}
	return
}

// 分页查询商品信息响应
type ItemListItemsResponse struct {
	*BaseResponse
	Data ItemListItemsData `json:"data"`
}

//
type ItemListItemsData struct {
	Total int                    `json:"total"`
	Rows  []ItemListItemsDataRow `json:"rows"`
}

//
type ItemListItemsDataRow struct {
	DeliverAreaId   int64  `json:"deliverAreaId"`   // 发货地编号: 可选
	DeliverAreaName string `json:"deliverAreaName"` // 发货地名称: 可选
	DeliverCode     string `json:"deliverCode"`     // 发货编码: 可选
	ItemCode        string `json:"itemCode"`        // 商品编码: 可选
	SkuCode         string `json:"skuCode"`         // sku编码: 可选
	AvailableCount  int    `json:"availableCount"`  // 可用库存: 可选
	ProductName     string `json:"productName"`     // 商品名称: 可选
	SkuName         string `json:"skuName"`         // sku名称: 可选
	Status          int    `json:"status"`          // 商品状态: 可选, 0=停用, 1=可用
	CostPrice       int    `json:"costPrice"`       // 供货价: 可选, 单位(分)
}

// 分页查询商品信息
func (client *Client) ListItems(request *ItemListItemsRequest) (response *ItemListItemsResponse, err error) {
	response = &ItemListItemsResponse{
		BaseResponse: &BaseResponse{},
	}
	err = client.DoAction(request, response)
	return
}
